package com.ruoyi.factory.taskShow.service;


import com.ruoyi.factory.common.domain.AjaxBean;
import com.ruoyi.factory.taskShow.domain.TaskShow;
import com.ruoyi.factory.taskShow.domain.TaskShowTreeSelect;

import java.util.List;

public interface SysTaskShowService {
        /**
         * 查询【请填写功能名称】
         *
         * @param id 【请填写功能名称】主键
         * @return 【请填写功能名称】
         */
        public TaskShow selectTaskShowById(String id);

        /**
         * 查询【请填写功能名称】列表
         *
         * @param taskShow 【请填写功能名称】
         * @return 【请填写功能名称】集合
         */
        public List<TaskShow> selectTaskShowList(TaskShow taskShow);
        
        /**
         * @Description //TODO 根据用户查id询任务展示列表
         * @Author liujiaji
         * @Date 2022/6/20 15:52
         * @Param [taskShow, userId]
         * @return java.util.List<com.ruoyi.factory.domain.TaskShow>
         **/
        public List<TaskShow> selectTaskShowList(TaskShow taskShow, Long userId);

        /**
         * 新增【请填写功能名称】
         *
         * @param taskShow 【请填写功能名称】
         * @return 结果
         */
        public int insertTaskShow(TaskShow taskShow);

        /**
         * 修改【请填写功能名称】
         *
         * @param taskShow 【请填写功能名称】
         * @return 结果
         */
        public int updateTaskShow(TaskShow taskShow);

        /**
         * 批量删除【请填写功能名称】
         *
         * @param ids 需要删除的【请填写功能名称】主键集合
         * @return 结果
         */
        public int deleteTaskShowByIds(String[] ids);

        /**
         * 删除【请填写功能名称】信息
         *
         * @param id 【请填写功能名称】主键
         * @return 结果
         */
        public int deleteTaskShowById(String id);

        public boolean hasChildById(String id);

        /**
         * 构建前端所需要下拉树结构
         *
         * @param taskShows 任务展示列表
         * @return 下拉树结构列表
         */
        public List<TaskShowTreeSelect> buildTaskShowTreeSelect(List<TaskShow> taskShows);

        /**
         * 构建前端所需要树结构
         *
         * @param taskShows 菜单列表
         * @return 树结构列表
         */
        public List<TaskShow> buildTaskShowTree(List<TaskShow> taskShows);

        public AjaxBean dateDispos(TaskShow taskShow);
    }
